import scala.annotation.tailrec

object Multable {
  //打印九九乘法表
  def main(args:Array[String]):Unit={
//    for(i<- 1 to 9){
//      for(j<-1 to i){
//        print(s"$j*$i=${i*j} \t")
//      }
//      println()
//    }
    for(i<-1 to 9;j<-1 to i){
      printf(s"$j*$i=${i*j}\t")
      if(i==j){println()}
    }
    //打印输出九层妖塔
    for(i<-1 to 9){
      val starts=2*i-1
      val spaces=9-i
      println(" "*spaces+"*"*starts)
    }

    //scala尾递归实现(递归的优化)
    //尾递归：一个函数中所有递归形式的调用都出现在函数的末尾
    def  tailFact(n:Int):Int={
      @tailrec
      def loop(n:Int,currRes:Int):Int={
        if(currRes==0) return currRes
        loop(n-1,currRes*n)
      }
      loop(n,1)
    }

  }

}
